import socket


def send():
    des_ip = '192.168.124.32'
    des_por = 8080
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    print('输入Q退出')
    while True:
        content =input('请输入要发送的内容:')
        if content !='Q':
            s.sendto(content.encode('gbk'),(des_ip,des_por))
        else:
            break
    s.close()
    
def recv():
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    #绑定本地信息，如果网络不稳定，系统随机分配
    addr = ('',7788)   #  必须绑定自己的IP和PORT，其他不行
    udp_socket.bind(addr)
    while True:
        i='A'
        recv = udp_socket.recvfrom(1024)   # 1024表示本次接收最大的字节
        centent = str(recv[0].decode('gbk'))
        
        if i != 'Q':
            print('%s:%s' %(str(recv[1]),centent))
            i = input('输入Q退出')
        else:
            break
    udp_socket.close()

def main():
    while True :
        c = int(input('发送模式：1\n接受模式：2\n退出：3\n'))
        if c == 1:
            send()
        elif c == 2:
            recv()
        elif c== 3:
            break

if __name__=='__main__':
    main()
